﻿using Dimebrain.TweetSharp.Model;

namespace Dimebrain.TweetSharp.Fluent
{
    /// <summary>
    /// Interface representing a user profile
    /// </summary>
    public interface IFluentTwitterProfile
    {
        /// <summary>
        /// Gets or sets the name of the user.
        /// </summary>
        /// <value>The name of the user.</value>
        string ProfileName { get; set; }
        /// <summary>
        /// Gets or sets the profile URL.
        /// </summary>
        /// <value>The profile URL.</value>
        string ProfileUrl { get; set; }
        /// <summary>
        /// Gets or sets the user location.
        /// </summary>
        /// <value>The user location.</value>
        string ProfileLocation { get; set; }
        /// <summary>
        /// Gets or sets the user description.
        /// </summary>
        /// <value>The user description.</value>
        string ProfileDescription { get; set; }
        /// <summary>
        /// Gets or sets the profile delivery device.
        /// </summary>
        /// <value>The profile delivery device.</value>
        TwitterDeliveryDevice? ProfileDeliveryDevice { get; set; }
        /// <summary>
        /// Gets or sets the color of the profile background.
        /// </summary>
        /// <value>The color of the profile background.</value>
        string ProfileBackgroundColor { get; set; }
        /// <summary>
        /// Gets or sets the color of the profile text.
        /// </summary>
        /// <value>The color of the profile text.</value>
        string ProfileTextColor { get; set; }
        /// <summary>
        /// Gets or sets the color of the profile link.
        /// </summary>
        /// <value>The color of the profile link.</value>
        string ProfileLinkColor { get; set; }
        /// <summary>
        /// Gets or sets the color of the profile sidebar fill.
        /// </summary>
        /// <value>The color of the profile sidebar fill.</value>
        string ProfileSidebarFillColor { get; set; }
        /// <summary>
        /// Gets or sets the color of the profile sidebar border.
        /// </summary>
        /// <value>The color of the profile sidebar border.</value>
        string ProfileSidebarBorderColor { get; set; }
        /// <summary>
        /// Gets or sets the profile image path.
        /// </summary>
        /// <value>The profile image path.</value>
        string ProfileImagePath { get; set; }
        /// <summary>
        /// Gets or sets the profile background image path.
        /// </summary>
        /// <value>The profile background image path.</value>
        string ProfileBackgroundImagePath { get; set; }
    }
}
